package com.tbit.uqbike.service.business;

import com.tbit.uqbike.object.pojo.MachineFunction;
import com.tbit.uqbike.object.pojo.vo.BatchOperationMsgVO;

import java.util.List;

/**
 * @Author: chen
 * @Description: 设备功能绑定
 * @Date: 创建于 17:40 2020/6/2
 */
public interface MachineFunctionService {
    /**
     * 分页查询
     *
     * @param machineNO
     * @return
     */
    List<MachineFunction> queryPage(Integer accountId, String machineNO, Integer functionType, Integer pageNO, Integer rowCount);

    /**
     * 分页总数
     *
     * @param machineNO
     * @return
     */
    Integer queryCount(Integer accountId, String machineNO, Integer functionType);

    /**
     * 批量添加
     *
     * @param list
     */
    BatchOperationMsgVO<String> addBatch(List<String> list, Integer functionType, String functionName,
                                         Integer functionValue,Integer functionMode);

    /**
     * 批量删除
     *
     * @param list
     */
    BatchOperationMsgVO<String> delBatch(List<String> list, Integer functionType);

    /**
     * 通过id获取是否存在
     *
     * @param list
     * @return
     */
    List<Integer> getByMachineIds(List<Integer> list, Integer functionType);

    /**
     * 查询某个区域开启指定功能类型的设备信息
     *
     * @param accountId    区域id
     * @param functionType 功能类型
     * @return
     */
    List<MachineFunction> getByType(Integer accountId, Integer functionType);

    /**
     * 查询指定类型设备功能
     *
     * @param machineId
     * @param functionType
     * @return
     */
    MachineFunction getByMachineId(Integer machineId, Integer functionType);
}
